#ifndef MENUBAR_H
#define MENUBAR_H

#include <QMenuBar>
#include <QMenu>
#include <QPair>

typedef QList<QPair<QString, QString>> QStringPairList;
typedef QPair<QString, QString> QStringPair;

class MenuBar : public QMenuBar
{
    Q_OBJECT
public:
    explicit MenuBar(QWidget *parent = nullptr);
    void initUI();
    void initConnections();

signals:

public slots:
    // file actions
    void actionOpen();
    void actionNewProject();
    void actionSave();
    void actionSaveas();
    void actionExit();

    // edit actions
    void actionUndo();
    void actionRedo();

    // help ations
    void actionAbout();
    void actionDocument();
    void actionShortcuts();

private:
    QMenu* mfileMenu;
    QMenu* mEditMenu;
    QMenu* mHelpMenu;
    QStringPairList mFileActions;
    QStringPairList mEditActions;
    QStringPairList mHelpActions;

};

#endif // MENUBAR_H
